<?php
/**
* Controlador que maneja las acciones del sistema de administracion
*/
class User_pcController extends Controller{
  
  
   public function actionUserpcs(){
     
	 $this->render('userpcs');    
   }  
   
	/**
	* accion alta user Pc
	*/
   public function actionAltauserpc(){
     $sistema=$this->AccesoSistema();
	 $model=new User_pcForm;
	 if(isset($_POST['ajax']) && $_POST['ajax']==='userpc-form')
	 {
		echo CActiveForm::validate($model);
		Yii::app()->end();
	 }
	 if(isset($_POST['User_pcForm']))
	 {
	    $model->attributes=$_POST['User_pcForm'];
		if($model->validate()){
			$nombreuser=$model->nombre;
			$apellidouser=$model->apellido;
			$mail=$model->mail;
			$dni=$model->dni;
			$contrasena=$model->contrasena;
			$rol=$model->rol;
			$numeroregistro=$sistema->agregarUserPc($nombreuser,$apellidouser,$dni,$mail,$contrasena,$rol);
			$model->nro_userpc=$numeroregistro;
			if(!$numeroregistro==false){
				Dialogo::mensaje('Confirmacion Registracion', '<b>N° UserPc:</b> '.$numeroregistro.'<br><b>Nombre:</b> '.$model->nombre
				.'<br><b>Apellido:</b> '.$model->apellido.'<br><b> Dni:</b> '.$model->dni.'<br><b>Mail:</b> '.$model->mail.'<br><b> Rol:</b> '.$model->rol);	
				$this->redirect($this->createUrl('userpcs'));
			}
			else{
				Dialogo::mensaje('Mensaje', 'Ya existe user Pc registrado con ese mail');
			}
			
		}
	 }
	 $this->render('altauserpc',array('model'=>$model));
     
   }
   
    /**
	* accion eliminar user Pc
	*/
   public function actionEliminaruserpc(){
     $sistema=$this->AccesoSistema();
	 $model=new User_pcForm;
	 if(isset($_POST['buscar'])){
	     if(isset($_POST['valor'])and !$_POST['valor']==''){
			  $resultado=$sistema->eliminarUserPc($_POST['valor'],'nro_userpc');	
	     if($resultado==true){
			  //reasigna la variable usuario y extrae los valores correspondientes
			  $user=$sistema->get_userpc();
			  $model->nombre=$user->get_nombre_userPc();
			  $model->apellido=$user->get_apellido_userPc();
			  $model->dni=$user->get_dni_userPc();
			  $model->mail=$user->get_mail_userPc();
			  $model->contrasena=$user->get_password_userPc();
			  $model->rol=$user->get_rol_userPc();
			  $model->nro_userpc=$user->get_nro_userPc();
			}
		else{
			  //mensaje de error de busqueda
			   Dialogo::mensaje('Error', 'User PC no encontrado');					
		      }
	   }
	   }
	 if(isset($_POST['eliminar'])){
			 $sistema->confirmarEliminarUserpc();
			 Dialogo::mensaje('Confirmacion', 'User PC eliminado correctamente');
			 $this->redirect($this->createUrl('userpcs'));
	}	 
	 $this->render('eliminaruserpc',array('model'=>$model));
   }
   
    /**
	* Accion modificar user Pc
	*/
   public function actionModificaruserpc(){
        $sistema=$this->AccesoSistema();
	    $model=new ModificarUserpcForm;
		 if(isset($_POST['ajax']) && $_POST['ajax']==='userpc-form')
		{
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}
		if(isset($_POST['buscar'])){
	      //verifica si la variable usuario y compara los valores del formulario y los del usuario
	      if(isset($_POST['valor']) and !$_POST['valor']==''){
			  $resultado=$sistema->modificarUserPc($_POST['valor'],$_POST['tipo']);			  
			  if($resultado==true){
			  //reasigna la variable usuario y extrae los valores correspondientes
				  $user=$sistema->get_userPc();
				  $model->nombre=$user->get_nombre_userPc();
				  $model->apellido=$user->get_apellido_userPc();
				  $model->dni=$user->get_dni_userPc();
				  $model->mail=$user->get_mail_userPc();
				  $model->contrasena=$user->get_password_userPc();
				  $model->rol=$user->get_rol_userPc();
				  $model->nro_userpc=$user->get_nro_userPc();
			  }
		      else{
				//mensaje de error usuario no emcontrado
				Dialogo::mensaje('Error Busqueda', 'User Pc no encontrado');
		      }
		    }
	    }
	    if(isset($_POST['modificar'])){
				$model->attributes=$_POST['ModificarUserpcForm'];
				if($model->validate()){
				    $user=$sistema->get_userPc();
					$Resultadomodificar=$sistema->set_cambios_userPc($model->nombre, $model->apellido, $model->dni, $model->mail, $model->contrasena,$model->rol);
					if($Resultadomodificar){
						$model->unsetAttributes();
						Dialogo::mensaje('Mensaje', 'Datos  guardados correctamente');	
					}
					$this->redirect($this->createUrl('userpcs'));
				}
		}
	  
	    $this->render('modificaruserpc',array('model'=>$model));
	   }
	  
   /**
	* Accion buscar user Pc
	*/
	public function actionBuscaruserpc(){
	    $sistema=$this->AccesoSistema();
		$model=new User_pcForm;
		if(isset($_POST['buscar'])){
	      //verifica si la variable usuario y compara los valores del formulario y los del usuario
	      if(isset($_POST['valor']) and !$_POST['valor']==''){
			  $resultado=$sistema->buscar_UserPc($_POST['valor'],$_POST['tipo']);			  
			  if($resultado==true){
			  //reasigna la variable usuario y extrae los valores correspondientes
				  $user=$sistema->get_userPc();
				  $model->nombre=$user->get_nombre_userPc();
				  $model->apellido=$user->get_apellido_userPc();
				  $model->dni=$user->get_dni_userPc();
				  $model->mail=$user->get_mail_userPc();
				  $model->contrasena=$user->get_password_userPc();
				  $model->rol=$user->get_rol_userPc();
				  $model->nro_userpc=$user->get_nro_userPc();
			  }
		      else{
				//mensaje de error usuario no emcontrado
				  Dialogo::mensaje('Busqueda', 'User Pc no encontrado');
		      }
		    }
	     }
		if(isset($_POST['limpiar'])){
			$model->unsetAttributes();
		 }		 
	    $this->render('buscaruserpc',array('model'=>$model));	
  }
   
  
    /*
	*Filtro que permite controlar el acceso de user Pc
	*/
	public function filters()
    {
        return array(
            'accessControl',
        );
    }
	
	/*
	*Reglas de Acceso que deniegan o permiten ciertas acciones
	*/
   public function accessRules()
   {
		return array(
		array('allow',  // permite a los usuarios registrados acceder a las acciones
		'actions'=>array('index','altauserpc','eliminaruserpc','userpcs','buscaruserpc','modificaruserpc','buscaruserpc'),
		'roles'=>array('admin'),
		),
		array('allow',//usuario no autenticado no puede realizar las siguientes acciones
		'actions'=>array('buscaruserpc'),
		'roles'=>array('empleado'),
		),
		array('deny',//usuario no autenticado no puede realizar las siguientes acciones
		'actions'=>array('index','altauserpc','eliminaruserpc','userpcs'),
		'roles'=>array('empleado'),
		),
		array('deny',//deniego toda accion a usuario no autenticado
		'users'=>array('*'),
	    ),
		);
   }

}
?>